/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package src.controller.bean;

import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.persistence.EntityManager;
import src.conexaoBanco.ConexaoJPA;
import src.model.dao.PessoaDao;
import src.model.entidade.Pessoa;

/**
 *
 * @author Alessandro
 */
@ManagedBean
@RequestScoped
public class PessoaBean {

    private PessoaDao pessoaDao;
    private Pessoa pessoa;
    private EntityManager em;

    public PessoaBean() {
        this.pessoa = new Pessoa();
    }

    public Pessoa getPessoa() {
        return pessoa;
    }

    public void setPessoa(Pessoa pessoa) {
        this.pessoa = pessoa;
    }

    public void salvar() {
        em = ConexaoJPA.getEntityManager();
        em.getTransaction().begin();
        try {
            pessoaDao = new PessoaDao();
            pessoaDao.salvar(pessoa, em);
            em.getTransaction().commit();
            pessoa = new Pessoa();
        } catch (Exception e) {
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
    }

    public List<Pessoa> listaTodas() {

        em = ConexaoJPA.getEntityManager();
        try {
            return pessoaDao.listaTodas(em);
        } catch (Exception e) {
            return new ArrayList<Pessoa>();
        } finally {
            em.close();
        }
    }
}
